home *** CD-ROM | disk | FTP | other *** search
/ No Fragments Archive 12: Textmags & Docs / nf_archive_12.iso / MAGS / SOURCES / ATARI_SRC.ZIP / atari source / AHDI / TTFHDX / BOOTSTOP.S < prev    next >
Encoding:
Text File  |  2001-02-09  |  1.2 KB  |  51 lines

  1. * bootstop.s
  2. * $Header$
  3.  
  4. *------------------------------------------------------------------------
  5. *                                    :
  6. *    Stop DMA boot from completing                    :
  7. *    Copyright 1986, Atari Corp.                    :
  8. *                                    :
  9. *  When written to a hard disk's boot sector, this code prevents    :
  10. *  the DMA bus from locking up on 20-Nov-1985-derived versions of    :
  11. *  TOS.                                    :
  12. *                                    :
  13. *  Modified 18-Feb-1988 by AKP to stop the boot sequence ONLY        :
  14. *  on 11/20 ROMs.                            :
  15. *                                    :
  16. *------------------------------------------------------------------------
  17.  
  18. * $Log$
  19.  
  20.  
  21.  
  22. *+
  23. *  Stop the boot sequence in its tracks by
  24. *  jamming $100-$20 into D7 and returning.
  25. *  This causes the code in the BIOS routine
  26. *  `dmaboot' to quit early, thinking that it
  27. *  has scanned all eight devices, when in
  28. *  fact it has only (hopefully) touched the
  29. *  first device.
  30. *
  31. *-
  32.     .globl _bootstop
  33.     .globl _bootend
  34.  
  35. _sysbase = $4f2
  36.  
  37. _bootstop:
  38.     move.l    _sysbase,a0        ; get system header address
  39.     cmp.w    #$0100,2(a0)        ; version $0100 is 11/20-derived
  40.     bne.s    dontstop        ; if not 11/20, don't stop.
  41.     move.w    #$100-$20,d7
  42. dontstop:
  43.     rts
  44.  
  45.     dc.b    '$Header$',0
  46.     even
  47.  
  48. _bootend:
  49.     dc.l    0
  50.  
  51.